In some data processing systems, files are stored according to a hierarchical storage management (HSM) file system. For example, an HSM file system is often employed in systems with a version of the UNIX operating system. Typically, operating system HSM extensions are required to support the HSM file system. The specific functions required through the extensions often vary from one operating system implementation, e.g., one UNIX implementation, to another. For systems operating according to an implementation of the UNIX operating system, the extensions that provide the support normally include a pseudo device driver extension and virtual file system function.
Test facilities are often employed to monitor the functionality of the HSM file system extension to identify any possible problems or errors in the extension. In typical systems, testing takes the form of a black box facility. In the black box approach, the operating system extensions normally are not tested on an isolated basis. Rather, testing occurs as the rest of the system, e.g., background processes/daemons, etc., occur and in parallel with the performance of file system operations. In the multiprocessing environment supported by UNIX platforms, processes run concurrently without regard to one another. Difficulty in reproducing specific sequences of system calls across concurrent processes arises, since operating systems normally schedule system calls according to factors, including the other activity on the system, that are independent from the testing. Unfortunately, defects are therefore often difficult to reproduce, as they may be related to a particular sequence of system calls that the black box approach is unable to identify. Thus, the granularity of the testing is less than optimal for determining defects in the extensions supporting the HSM file system.
Accordingly, what is needed is a test facility that remains independent by capably exercising system call interfaces in any sequence and with any combination of parameters.